class Solution {
public:
    int maximumUniqueSubarray(vector<int>& nums) {
        int left=0,sum=0,ans=0,n=nums.size();
        unordered_map <int ,int > cp;
        for(int right=0;right<n;right++){
            cp[nums[right]]++;
            sum+=nums[right];
            while(cp[nums[right]]>1){
                cp[nums[left]]--;
                sum-=nums[left++];
            }
            ans=max(ans,sum);
        }
        return ans;
}
};
